home *** CD-ROM | disk | FTP | other *** search
-
- 9. FONTS: MαDULO DE CARACTERES ESPECIALES
-
- Para evitar la monotonía y la semejanza entre programas este módulo modifica
- algunos caracteres de la tabla de caracteres de la ROM mediante las rutinas de la
- BIOS, se averigua el tipo de caracteres actual, se averigua la posición de la tabla de
- caracteres en la memoria, se copia a la tabla de usuario y se le indica al ordenador
- que utilice esta tabla en vez de la tabla por defecto.
- Primero utilicé un conjunto de 512 caracteres, pudiéndose seleccionar uno u otro
- juego mediante los atributos de color ,si había color de alta intensidad se empleaban
- los códigos de usuario y si no los códigos de la BIOS.
- Para evitar que durante la ejecución de este programa bajo Windows u OS/2 se vean
- caracteres erróneos en pantalla se desactivaba esta función bajo estos entornos.
- Getfonttable cargaba la tabla de fuentes en la matriz Tabla, SetFont activaba la tabla
- de caracteres correspondiente, SetSecondTable fijaba la segunda tabla de caracteres
- y ActiveFontTable la activaba.
- Después mediante un programa de mi propia creación copié la tabla original de los
- caracteres BIOS en un array y la modifique a mi antojo para después grabarla en un
- fichero que después se convertiría en un fichero .OBJ mediante Binobj y que
- enlazaría mediante el módulo FONTS en mi programa, a su vez modifiqué el módulo
- fonts para que manejara este bloque de caracteres. Después de estas modificaciones
- el código de Fonts contiene los siguientes procedimientos:
- Mdiskfnt - Procedimiento que apunta a la nueva tabla de caracteres de
- Mdiskpro.
- Inicializar_fuentes - Carga y activa los tipos de usuario mediante las funciones
- de la B.I.O.S., los tipos originales se reactivan al acabar la ejecución del
- programa.
-
- De esta manera es innecesario Iswindows porque los caracteres corresponden con
- los tipos de usuario y con los tipos de B.I.O.S. en su número cosa que no ocurría en
- la anterior implementación.